Monitoring Atomicity in Concurrent Programs
نویسندگان
چکیده
We study the problem of monitoring concurrent program runs for atomicity violations. Unearthing fundamental results behind scheduling algorithms in database control, we build space-efficient monitoring algorithms for checking atomicity that use space polynomial in the number of active threads and entities, and independent of the length of run monitored. Second, by interpreting the monitoring algorithm as a finite automaton, we solve the model checking problem for atomicity of finite-state concurrent models. This remedies incorrect proofs published in the literature. Finally, we exhibit experimental evidence that our atomicity monitoring algorithm gives substantial time and space benefits on benchmark applications.
منابع مشابه
Algorithms for Atomicity
We study the algorithmics of checking atomicity of in concurrent programs. Unearthing fundamental results behind scheduling algorithms in database control, we build space-efficient monitoring algorithms for checking atomicity. Second, by interpreting the monitoring algorithm as a deterministic automaton, we solve several key model checking problems for checking atomicity of finite-state concurr...
متن کاملRun - Time Analysis for Atomicity 1
Writing and debugging concurrent (shared-variable) programs is notoriously difficult. This motivated the development of numerous static analysis and run-time analysis techniques designed to (help) ensure that concurrent programs satisfy common correctness requirements for concurrent programs, such as absence of race conditions and absence of deadlocks. This paper focuses on another common corre...
متن کاملOn Atomicity in Presence of Non-atomic Writes
The inherently nondeterministic semantics of concurrent programs isthe root of many programming errors. Atomicity (more precisely conflict seri-alizability) has been used to reduce the magnitude of this nondeterminism andtherefore make it easier to understand the behaviour of the concurrent program.Serializability, however, has not been studied well for programs executed under<l...
متن کاملEnhancing the usability of rely-guarantee conditions for atomicity refinement
Formal methods are a useful tool for increasing the confidence in the correctness of computer programs with respect to their specifications. Formal methods allow designers to model specifications and these formal models can then be reasoned about in a rigourous way. Formal methods for sequential processes are well-understood, however formal methods for concurrent programs are more difficult, be...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2008